Wrapper ক্লাস কি এবং এর প্রয়োজনীয়তা

Java Technologies - Java.lang প্যাকেজ (Java.lang Package) - Wrapper ক্লাসসমূহ
223

Wrapper ক্লাস Java তে প্রিমিটিভ ডেটা টাইপগুলির জন্য একটি অবজেক্ট ক্লাস সরবরাহ করে। Java তে সমস্ত primitive data types যেমন int, char, boolean ইত্যাদি অবজেক্ট টাইপের ডেটা টাইপের মাধ্যমে কাজ করা সম্ভব নয়। কিন্তু অনেক সময় আমাদের object টাইপের ডেটা প্রয়োজন হয় (যেমন Collections API), তখন Wrapper Classes সাহায্য করে।

Wrapper ক্লাস কী?

Wrapper ক্লাস গুলি প্রিমিটিভ ডেটা টাইপগুলির জন্য তৈরি করা অবজেক্ট ক্লাস। Java তে প্রত্যেকটি primitive type-এর জন্য একটি Wrapper class রয়েছে, যা সেই primitive type কে একটি object-এ রূপান্তরিত করতে সক্ষম। Wrapper class গুলি Java-এ primitive types এবং objects এর মধ্যে পারস্পরিক রূপান্তরের কাজ সম্পন্ন করে।

Primitive Types এবং তাদের Wrapper Classes:

Primitive TypeWrapper Class
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

Wrapper ক্লাসের প্রয়োজনীয়তা:

  1. Collections API-এর সাথে কাজ:

    • Collections Framework Java-তে List, Set, Map ইত্যাদি ডেটা স্ট্রাকচার ব্যবহারের জন্য object টাইপের উপাদান প্রয়োজন হয়। কিন্তু primitive types (int, char, boolean, etc.) শুধুমাত্র primitive values হিসেবে কাজ করতে পারে, Object হিসেবে নয়। তাই Wrapper classes ব্যবহার করে primitive values-কে objects-এ রূপান্তর করা হয়।

    উদাহরণ: ArrayList<Integer>int ব্যবহার করা সম্ভব নয়, কিন্তু Integer ব্যবহার করা যায়।

  2. Autoboxing and Unboxing:

    • Java 5 থেকে autoboxing এবং unboxing নামে একটি ফিচার এসেছে, যা primitive types এবং তাদের corresponding wrapper classes এর মধ্যে স্বয়ংক্রিয় রূপান্তর করতে সাহায্য করে।
      • Autoboxing: primitive value থেকে object এ রূপান্তর।
      • Unboxing: object থেকে primitive value এ রূপান্তর।

    উদাহরণ:

    Integer intObj = 10;  // Autoboxing: int -> Integer
    int x = intObj;       // Unboxing: Integer -> int
    
  3. Nullability:

    • Primitive types কখনো null হতে পারে না, কিন্তু Wrapper classes null হতে পারে। এটি গুরুত্বপূর্ণ যখন আপনাকে nullable values প্রয়োজন হয়, যেমন ডাটাবেস বা কোনো API-তে null ভ্যালু গ্রহণ করতে।

    উদাহরণ:

    Integer i = null;  // Possible to assign null to Integer
    int x = null;      // Compilation error, because primitive types cannot be null
    
  4. Utility Methods:

    • Wrapper classes বিভিন্ন utility methods সরবরাহ করে যা primitive types নিয়ে কাজ করতে সহায়তা করে, যেমন সংখ্যা থেকে স্ট্রিং এ রূপান্তর বা স্ট্রিং থেকে সংখ্যা রূপান্তর। উদাহরণস্বরূপ, Integer.parseInt() অথবা Double.parseDouble() মেথড।

    উদাহরণ:

    int num = Integer.parseInt("123");  // String to int conversion
    String str = Integer.toString(456);  // int to String conversion
    
  5. Comparisons and Sorting:

    • Wrapper ক্লাসগুলি Comparable ইন্টারফেস ইমপ্লিমেন্ট করে, যা primitive types এর সাথে সহজে comparison করতে সাহায্য করে। এটা বিশেষভাবে দরকারি যখন sorting বা comparison করা হয়।

    উদাহরণ:

    Integer num1 = 10;
    Integer num2 = 20;
    System.out.println(num1.compareTo(num2));  // Output: -1 (num1 < num2)
    

Wrapper ক্লাসের উদাহরণ:

public class WrapperExample {
    public static void main(String[] args) {
        // Autoboxing: primitive int to Integer object
        Integer intObject = 100;
        System.out.println("Integer object: " + intObject);

        // Unboxing: Integer object to primitive int
        int num = intObject;  // Autounboxing
        System.out.println("Primitive int: " + num);

        // Using utility methods of Wrapper class
        String str = "200";
        int parsedInt = Integer.parseInt(str);  // String to int
        System.out.println("Parsed int: " + parsedInt);

        // Wrapper class to String conversion
        String intToString = Integer.toString(123);  // int to String
        System.out.println("Converted String: " + intToString);
    }
}

Output:

Integer object: 100
Primitive int: 100
Parsed int: 200
Converted String: 123

Wrapper classes Java-তে primitive types এবং objects এর মধ্যে পারস্পরিক রূপান্তর সহজ করে, যা Collections API ব্যবহার, nullability, utility methods এবং comparison/sorting এর জন্য অত্যন্ত প্রয়োজনীয়। Autoboxing এবং Unboxing এর সুবিধার মাধ্যমে, Java এর primitive types এবং Wrapper classes এর মধ্যে যেকোনো রূপান্তর অত্যন্ত সহজ ও সুবিধাজনক হয়ে ওঠে।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...